async await ne demek?

**Async/Await**

Async/await, JavaScript'te eşzamansız (asenkron) işlemleri daha kolay yazmayı ve okumayı sağlayan bir sözdizimidir. Aslında, promise'lerin üzerine inşa edilmiş bir yapıdır ve eşzamansız kodu sanki eş zamanlıymış gibi yazmanıza olanak tanır. Bu, kodu daha anlaşılır hale getirir ve hata ayıklamayı kolaylaştırır.

*   **`async` Anahtar Kelimesi:** Bir fonksiyonun başına `async` anahtar kelimesini eklediğinizde, o fonksiyon otomatik olarak bir promise döndürür. Eğer fonksiyonun içinde bir değer döndürülürse, bu değer resolved (başarılı) bir promise ile sarılır. Eğer bir hata oluşursa, rejected (başarısız) bir promise döndürülür.
    *   Daha fazlası için: [Asenkron Programlama](https://www.nedemek.page/kavramlar/Asenkron%20Programlama)

*   **`await` Anahtar Kelimesi:** `await` anahtar kelimesi sadece `async` fonksiyonlar içinde kullanılabilir. Bir promise'in çözülmesini (resolve) bekler ve promise çözülene kadar fonksiyonun çalışmasını durdurur. Promise çözüldükten sonra, `await` ifadesi çözülen değeri döndürür ve fonksiyonun çalışması devam eder.
    *   Daha fazlası için: [Promise](https://www.nedemek.page/kavramlar/Promise)

**Temel Kullanım:**

```javascript
async function veriAl() {
  try {
    const veri = await fetch('https://api.example.com/data'); // Promise'in çözülmesini bekle
    const jsonVeri = await veri.json(); // Promise'in çözülmesini bekle
    console.log(jsonVeri);
    return jsonVeri;
  } catch (hata) {
    console.error('Hata:', hata);
  }
}

veriAl();

Avantajları:

  • Okunabilirlik: Eşzamansız kodu daha temiz ve anlaşılır hale getirir. Zincirleme .then() bloklarından kaçınmayı sağlar.
  • Hata Yönetimi: try...catch blokları ile eşzamansız hataları eş zamanlı hatalar gibi yakalamayı kolaylaştırır.
  • Debug Kolaylığı: Kod sanki eş zamanlıymış gibi çalıştığı için, hata ayıklama (debugging) süreçleri daha basittir.

Özet:

Async/await, JavaScript'te eşzamansız işlemleri yönetmek için güçlü ve okunabilir bir araçtır. Promise'ler üzerine inşa edilmiştir ve eşzamansız kodu daha kolay yazmanıza, okumanıza ve hata ayıklamanıza yardımcı olur.